package com.xpffly.design.composite.demo.service;

import java.util.ArrayList;

/**
 * @Author: 午夜学徒
 * @Date: 2021/8/5 23:10
 * @Description： 根节点（总经理节点）
 */
public interface IRoot {
    /**
     * 得到总经理的信息
     *
     * @return
     */
    public String getInfo();

    /**
     * 增加树枝节点
     * 总经理下边要有小兵，需要增加小兵，如研发部经理，这是个树枝节点
     *
     * @param iBranch
     */
    public void add(IBranch iBranch);

    /**
     * 增加树叶节点
     *
     * @param iLeaf
     */
    public void add(ILeaf iLeaf);

    /**
     * 遍历，获取下级信息
     *
     * @return
     */
    public ArrayList getSubordinateInfo();
}
